Các chỉ thị mã máy Ngôn_ngữ_máy

Mọi vi xử lý hay họ vi xử lý đều có những tập chỉ thị mã máy riêng biệt. Các chỉ thị này là các mẫu bit được thiết kế tương ứng với những lệnh khác nhau của máy tính. Do đó, những tập chỉ thị này là riêng biệt của một lớp vi xử lý thuộc cùng một kiến trúc máy tính. Những thiết kế vi xử lý kế thừa thường bao gồm các chỉ thị của vi xử lý tiền nhiệm cùng với các chỉ thị mới. Đôi khi, các thiết kế kế thừa lại loại bỏ hay thay đổi chức năng một số mã chỉ thị (vì chúng cần dùng cho mục đích mới), gây ảnh hưởng đến sự đồng bộ mã nguồn ở một mức độ nhất định. Thậm chí, các vi xử lý đồng bộ cận hoàn toàn cũng có những sự biến đổi hành vi đối với một số chỉ thị, nhưng điều này rất hiếm xảy ra. Các hệ thống còn có thể khác nhau ở một số thành phần khác như phương thức sắp xếp bộ nhớ, hệ điều hành hay thiết bị ngoại vi. Vì các chương trình hay phụ thuộc vào các yếu tố này, các hệ thống khác nhau khó có thể chạy cùng một mã máy, ngay cả khi chúng sử dụng cùng một loại vi xử lý.

Một tập chỉ thị có thể có độ dài chỉ thị thống nhất hay biến động. Cách các bit được sắp xếp thay đổi rất lớn giữa các kiến trúc khác nhau hay các loại chỉ thị khác nhau. Hầu hết các chỉ thị có một hay nhiều vùng mã vận hành để phân biệt các chỉ thị cơ sở (như tính toán hay nhảy) và các chỉ thị thực (như cộng hay so sánh), và các vùng khác biểu diễn loại toán hạng, phương thức biểu diễn địa chỉ, các chỉ số địa chỉ hay các giá trị thực (các toán hạng hằng được chứa trong chỉ thị như vậy được gọi là giá trị tức thời).

Không phải tất cả các máy tính hay chỉ thị đơn lẻ đều có toán hạng hiện (rõ ràng). Một máy tính thanh chứa có sự kết hợp giữa toán hạng trái và kết quả tính toán lưu trong một thanh chứa ẩn đối với hầu hết các chỉ thị đại số. Một số kiến trúc khác (như 8086 hay x86) có phiên bản sử dụng thanh chứa của các chỉ thị thông dụng, và thanh chứa được xem như là một trong những thanh ghi tổng quát nhất của chỉ thị dài. Trong khi đó, một máy tính ngăn xếp lại lưu hầu hết các toán hạng trong một ngăn xếp ẩn. Những chỉ thị chuyên biệt cũng thường thiếu toán tử hiện (ví dụ, vi xử lý ID trong kiến trúc x86 ghi giá trị vào bốn thanh ghi địa điểm ẩn). Sự khác biệt giữa toán tử hiện và ẩn cho phép sử dụng nhiều hơn hằng số có phạm vi rộng, 'uốn nắn' các thanh ghi liên tục (lưu giá trị hằng số khác đè lên giá trị đã có của thanh ghi) và rất nhiều ưu điểm vượt trội khác.